# 商品发布测试

from base import build_driver, Logger
from page.addgoods_page import AddGoodsPage


class TestAddgoods:
    addgoods_logger = Logger('niushop22\\report\\log\\addgoods.log')
    addgoods_logger.info('创建添加商品日志开始')

    def test_addgoods(self):
        driver = build_driver('http://www.localhost/niushop/admin', 'c')
        add_goods_page = AddGoodsPage(driver)
        add_goods_page.add_goods()
        self.addgoods_logger.info('登录后台账户完成')
        driver.forced_wait(4)
        # 获取用户名文本
        get_user_name = add_goods_page.user_text()
        self.addgoods_logger.info('获取用户名完成')
        # 断言
        assert 'admin' == get_user_name, '输入正确账户密码，登录失败'
        self.addgoods_logger.info('断言用户名完成')
        # 点击商品
        add_goods_page.click_goods()
        self.addgoods_logger.info('点击商品按钮完成')
        driver.forced_wait(2)
        # 获取商品列表文本
        get_goodslist_text = add_goods_page.list_text()
        self.addgoods_logger.info('获取商品列表文本完成')
        # 断言
        assert '商品列表' == get_goodslist_text, '点击商品，进入商品列表失败'
        self.addgoods_logger.info('断言商品列表文本完成')
        # 点击商品发布按钮
        add_goods_page.add_button()
        self.addgoods_logger.info('点击商品发布按钮完成')
        driver.forced_wait(2)
        # 获取商品类型文本
        get_goodstype_text = add_goods_page.type_goods()
        self.addgoods_logger.info('获取商品类型文本完成')
        # 断言
        assert '商品类型' == get_goodstype_text, '点击商品发布按钮，进入填写页面失败'
        self.addgoods_logger.info('断言商品类型文本完成')
        # 填写商品基础信息
        add_goods_page.goods_message()
        self.addgoods_logger.info('填写商品基础信息完成')
        # 获取基础信息文本
        get_smiple_text = add_goods_page.property_text()
        self.addgoods_logger.info('获取基础信息文本完成')
        # 断言
        assert '基础信息' == get_smiple_text, '切换商品属性页面失败'
        self.addgoods_logger.info('断言基础信息文本完成')
        # 填写商品属性信息
        add_goods_page.goods_property()
        self.addgoods_logger.info('填写商品属性信息完成')
        # 获取商品图片文本
        get_goodspicture_text = add_goods_page.goods_picture()
        self.addgoods_logger.info('获取商品图片文本完成')
        # 断言
        assert '商品图片' == get_goodspicture_text, '切换商品媒体页面失败'
        self.addgoods_logger.info('断言商品图片完成')
        # 填写媒体设置页面
        add_goods_page.media_set()
        self.addgoods_logger.info('填写媒体设置页面完成')
        # 获取自定义标题文本
        get_myselftitle_text = add_goods_page.title_text()
        self.addgoods_logger.info('获取自定义标题文本完成')
        # 断言
        assert '自定义标题' == get_myselftitle_text, '切换商品详情页面失败'
        self.addgoods_logger.info('断言自定义标题文本完成')
        # 填写商品详情页面
        add_goods_page.goods_details()
        self.addgoods_logger.info('填写商品详情页面完成')
        driver.forced_wait(2)
        # 关闭浏览器
        add_goods_page.close()
        self.addgoods_logger.info('执行完用例关闭浏览器')


if __name__ == '__main__':
    testaddgoods = TestAddgoods()
    testaddgoods.test_addgoods()
